﻿var list = {
    productionNumber: '',
    client: '',
    orderNumber: '',
    priority: '',
    remark: '',
    addTime: '',
    list: []
}

layui.use('layer', function () {
    var $ = layui.$;
    var layer = layui.layer;
    var util = layui.util;
    var form = layui.form;
    var table = layui.table;

    // 打开添加弹窗的按钮点击事件
    util.on('lay-on', {
        'test-page-custom': function () {
            layer.open({
                type: 1,
                content: `
                <div class="layui-input-block">
        <button class="layui-btn" lay-submit lay-filter="demo-login" >确认</button>
                </div>
                    <table class="layui-table" id="FinishedProductTable" style="width:500px"></table>`,
                success: function () {
                    // 对弹层中的表单进行初始化渲染
                    form.render();
                    // 表单提交事件
                    Show()
                    form.on('submit(demo-login)', function (data) {
                        var checkStatus = table.checkStatus('FinishedProductTable');
                        selectedIds = checkStatus.data.map(function (item) { return item.finishedProductId; });
                        console.log(selectedIds)
                        if (selectedIds.length === 0) {
                            layer.msg('请至少选择一条要添加的质检项目', { icon: 2 });
                            return;
                        }
                        ShowFinishedProduct();
                        return false; // 阻止默认 form 跳转
                    });
                   
                }
            });

        }
    })
    var selectedIds = [];
    function ShowFinishedProduct() {

        console.log(selectedIds)
        // 先进行表格的初始渲染
        table.render({
            elem: '#ProductionOrdersTable',  // 表格元素的选择器
            page: {
                limit: 5,
                limits: [5, 8, 10]
            },
            toolbar: '#toolbarDemo',
            defaultToolbar: ['exports'],
            cols: [[
                { type: 'checkbox', fixed: 'left', title: '复选框' },
                { field: 'finishedProductNumbering', title: '成品编号' },
                { field: 'finishedProductNumbering', title: '规格型号' },
                { field: 'finishedProductUnit', title: '单位' },
                { field: 'plannedproduction', title: '计划产量', width: 80, edit: 'text' },
                { field: 'deliverydate', title: '交付日期', minWidth: 150, edit: 'text' },
                {
                    field: '', title: '操作', templet: function (d) {
                        return '<a class="layui-btn layui-btn-edit layui-btn-xs" onclick="editData(' + d.ProductionOrdersId + ')"><i class="layui-icon layui-icon-edit"></i>查看</a> ' +
                            '<a class="layui-btn layui-btn-danger layui-btn-xs" onclick="deleteData(' + d.ProductionOrdersId + ')"><i class="layui-icon layui-icon-delete"></i>删除</a>';
                    }

                }
            ]],
            // 初始时可以先不加载数据，等待 ajax 请求成功后再更新
            data: []
        });
        console.log(selectedIds);
        debugger
        // 创建表格实例
        $.ajax({
            url: "/ProductionOrders/FinishedProductShowModel",
            type: "post",
            data: {
                finishedProductId: {
                    id:selectedIds
                },
                Token: localStorage.getItem("token"),
            },
            success: function (data) {
                data = JSON.parse(data);
                console.log(data)
                // 在 ajax 请求成功后，使用正确的表格 ID 进行 reload
                table.reload('ProductionOrdersTable', {
                    page: {
                        limit: 5,
                        limits: [5, 8, 10]
                    },
                    data: data.data
                });
            },
            error: function () {
                console.log("请求失败");
            }
        });
        table.on('edit(ProductionOrdersTable)', function (obj) {
            var field = obj.field; // 得到修改的字段
            var value = obj.value // 得到修改后的值
            var oldValue = obj.oldValue // 得到修改前的值 -- v2.8.0 新增
            var data = obj.data // 得到所在行所有键值
            var col = obj.getCol(); // 得到当前列的表头配置属性 -- v2.8.0 新增
            // 值的校验
            if (value.replace(/\s/g, '') === '') {
                layer.tips('值不能为空', this, { tips: 1 });
                return obj.reedit(); // 重新编辑 -- v2.8.0 新增
            }
            // 编辑后续操作，如提交更新请求，以完成真实的数据更新
            // …

            // 显示 - 仅用于演示
            layer.msg('[ID: ' + data.finishedProductId + '] ' + field + ' 字段更改值为：' + util.escape(value));
        });
    }
    function Show() {
        var Num = $("#Num").val();
        var State = $("#State").val();
        var AddDate = $("#Date").val();
            // 先进行表格的初始渲染
            table.render({
                elem: '#FinishedProductTable',  // 表格元素的选择器
                page: {
                    limit: 5,
                    limits: [5, 8, 10] 
                },
                toolbar: '#toolbarDemo',
                defaultToolbar: ['exports'],
                cols: [[
                    { type: 'checkbox', fixed: 'left', title: '复选框' },
                    { field: 'finishedProductNumbering', title: '成品编号' },
                    { field: 'finishedProductModel', title: '规格型号' },
                    { field: 'finishedProductUnit', title: '单位' },
                ]],
                // 初始时可以先不加载数据，等待 ajax 请求成功后再更新
                data: []
            });
            // 创建表格实例
            $.ajax({
                url: "/FinishedProduct/FinishedProductShow",
                type: "get",
                data: {
                    pageindex: 1,
                    pagesize: 1000,
                    token: localStorage.getItem("token"),
                },
                success: function (data) {
                    data = JSON.parse(data);
                    console.log(data)
                    // 在 ajax 请求成功后，使用正确的表格 ID 进行 reload
                    table.reload('FinishedProductTable', {
                        page: {
                            limit: 5,
                            limits: [5, 8, 10]
                        },
                        data: data.data.plist
                    });
                },
                error: function () {
                    console.log("请求失败");
                }
            });
    }
    
    ///添加
    form.on('submit(demo-ddd)', function (data) {
        var checkStatus = table.checkStatus('ProductionOrdersTable');
        console.log(checkStatus)
        if (checkStatus.length === 0) {
            layer.msg('请至少选择一条要添加的质检项目', { icon: 2 });
            return;
        }
        list.productionNumber = $("#ProductionNumber").val();
        list.client = $("#Client").val();
        list.orderNumber = $("#OrderNumber").val();
        list.priority = $("#Priority").val();
        list.remark = $("#remark").val();
        list.addTime = $("#AddTime").val();
        list.list = checkStatus.data
        console.log(list)
        $.ajax({
            url: '/ProductionOrders/ProductionOrdersAdd',
            type: 'post',
            data:{
                data: JSON.stringify(list),
                token: localStorage.getItem("token")
            },
            success: function (res) {
                var s = JSON.parse(res)
                console.log(res)
                if (s.data >= 1) {
                    layer.alert("添加成功");
                    setTimeout(function () {
                        lwindow.location.href = "/ProductionOrders/ProductionOrdersShowView";
                    }, 2000);
                }
                else {
                    layer.alert("添加失败");
                }
            }
        })
        return false; // 阻止默认 form 跳转

    })
    colorpicker.render({
        elem: '.colorpicker-demo',
        done: function (value) {
            var data = table.getRowData(options.Deliverydate, this.elem); // 获取当前行数据(如 id 等字段，以作为数据修改的索引)
            // 更新数据中对应的字段
            data.color = value;

            // 显示当前行最新数据 - 仅用于示例展示
            showData(data);
        }
    });
    
});
